<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>Apache module mod_dld</TITLE>
</HEAD>

<BODY>
<!--#include virtual="header.html" -->
<H1>Module mod_dld</h1>

This module is contained in the <code>mod_dld.c</code> file, and is not
compiled in by default. It provides for loading of executable code
and modules into the server at start-up time, using the GNU dld library.

<h2>Summary</h2>

The optional dld module is a proof-of-concept piece of code which
loads other modules into the server as it is configuring itself (the
first time only; for now, rereading the config files cannot affect the
state of loaded modules), using the GNU dynamic linking library, DLD.
It isn't compiled into the server by default, since not everyone has
DLD, but it works when I try it.  (Famous last words.)  <p>

Note that for some reason, <code>LoadFile /lib/libc.a</code> seems to be
required for just about everything.<p>

Note: that DLD needs to read the symbol table out of the server binary
when starting up; these commands will fail if the server can't find
its own binary when it starts up, or if that binary is stripped.<p>


<h2>Directives</h2>
<ul>
<li><A HREF="#loadfile">LoadFile</A>
<li><A HREF="#loadmodule">LoadModule</A>
</ul>
<hr>


<A name="loadfile"><h2>LoadFile</h2></A>
<!--%plaintext &lt;?INDEX {\tt LoadFile} directive&gt; -->
<strong>Syntax:</strong> LoadFile <em>filename filename ...</em><br>
<Strong>Context:</strong> server config<br>
<strong>Status:</strong> Experimental<br>
<strong>Module:</strong> mod_dld<p>

The LoadFile directive links in the named object files or libraries when
the server is started; this is used to load additional code which
may be required for some module to work. <em>Filename</em> is relative
to <A HREF="core.html#serverroot">ServerRoot</A>.<p><hr>

<A name="loadmodule"><h2>LoadModule</h2></A>
<!--%plaintext &lt;?INDEX {\tt LoadModule} directive&gt; -->
<strong>Syntax:</strong> LoadModule <em>module filename</em><br>
<Strong>Context:</strong> server config<br>
<strong>Status:</strong> Experimental<br>
<strong>Module:</strong> mod_dld<p>

The LoadModule directive links in the object file or library <em>filename</em>
and adds the module structure named <em>module</em> to the list of active
modules. <em>Module</em> is the name of the external variable of type
<code>module</code> in the file. Example:
<blockquote><code>
LoadModule ai_backcompat_module modules/mod_ai_backcompat.o<br>
LoadFile /lib/libc.a
</code></blockquote>
loads the module in the modules subdirectory of the ServerRoot.<p>


<!--#include virtual="footer.html" -->
</BODY>
</HTML>

